package com.xjy.system.domain;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import javax.persistence.Id;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.Date;
import java.math.BigDecimal;

/**
 * 费用报销信息对象 sys_reimbursement
 *
 * @author xjy
 * @date 2022-02-10
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
@TableName("sys_reimbursement")
public class SysReimbursement implements Serializable {

    private static final long serialVersionUID=1L;


	/** 费用报销ID */
	@Id
	@TableId(value = "id")
	private Long id;

	/** 项目id */
	private Long projId;

	/** 项目名称 */
	private String projName;

	/** 合同ID */
	private Long contractId;

	/** 合同名称 */
	private String contractName;

	/** 结算项目id */
	private Long resultProjId;

	/** 结算项目名称 */
	private String resultProjName;

	/** 费用报销单据编号 */
	private String reimbursementNo;

	/** 预算科目ID */
	private Long budgetId;

	/** 科目名称 */
	private String budgetName;

	/** 关联单位 */
	private String affiliatedUnit;

	/** 关联单位id */
	private Long affiliatedUnitId;

	/** 关联个人 */
	private String affiliatedPerson;

	/** 关联个人id */
	private Long affiliatedPersonId;

	/** 经办人 */
	private String handler;

	/** 费用部门ID */
	private Long expenseDeptId;

	/** 经办人id */
	private Long handlerId;

	/** 代办标识0：无代办；1：代办。默认0 */
	private Integer agencyLogo;

	/** 费用报销日期 */
	@TableField(fill = FieldFill.INSERT)
	private Date createTime;

	/** 费用部门 */
	private String expenseDept;

	/** 摘要 */
	private String abstracted;

	/** 报销金额 */
	private BigDecimal reimbAmt;

	/** 发票张数 */
	private Long invoiceNum;

	/** 发票影像：存文件路径 */
	private String image;

	/** 影像名称 */
	private String imageName;

	/** 影像文件上传时间 */
	private Date uploadTime;

	/** 关联个人借款单号 */
	private String affiliatedOddNo;

	/** 支付类别:0：支付报销，1：冲销借款，2：冲销预付 */
	private Integer payType;

	/** 关联个人借款单号冲销合计 */
	private BigDecimal affiliatedOddNoAmt;

	/** 支付方式0：现金，1：银行（默认：银行) */
	private Integer reimbPayWay;

	/** 支付账户账户ID */
	private Long reimbPayAccountId;

	/** 关联预付账款单号 */
	private String affiliatedUnitOddNo;

	/** 报销支付账户名称 */
	private String reimbPayAccountName;

	/** 关联预付账款单号冲销合计 */
	private BigDecimal affiliatedUnitOddNoAmt;

	/** 报销支付账户开户行 */
	private String reimbPayAccountBank;

	/** 报销支付账户号码 */
	private String reimbPayAccountNo;

	/** 备注 */
	private String remark;

	/** 支付账户金额合计 */
	private BigDecimal reimbPayAmt;

	/** 预留字段1 */
	private String reserveOne;

	/** 预留字段2 */
	private String reserveTwo;

	/** 预留字段3 */
	private String reserveThree;

	/** 修改时间 */
	@TableField(fill = FieldFill.INSERT_UPDATE)
	private Date updateTime;

	/** 审核状态 0：未审核（默认）；1：审核 */
	private Boolean auditStatus;

	/** 对方银行账户名称 */
	private String colBankName;

	/** 对方银行账户开户行 */
	private String colBank;

	/** 删除状态 0. 正常 1. 删除 */
	@TableLogic
	private Integer delFlag;

	/** 对方银行账户号码 */
	private String colBankNo;

}
